import java.util.Scanner;
//杨辉三角里找数字
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        long N = scanner.nextLong();//要找到的数字

        if (N == 1) {
            System.out.println(1);
            return;
        }

        long[] currentRow = new long[100]; // 当前行
        long position = 0; // 记录当前位置

        for (int row = 0; row <= 100000; row++) { // 限制最大行数防止无限循环
            for (int col = 0; col <= row; col++) {//列
                if (col == 0 || col == row) {
                    currentRow[col] = 1;//一头一尾
                } else {
                    //杨辉三角的算法：a[j]=a[j]+a[j-1]（在同一个数组上改的，注意理解，不是上下两行）
                    currentRow[col] = currentRow[col] + currentRow[col - 1];
                }

                position++;//经历的数字数量

                if (currentRow[col] == N) {//找到了数字
                    System.out.println(position);//输出数量
                    return;
                }

                // 提前终止条件：如果当前数字已经超过目标且是行末
                if (col == row && currentRow[col] > N) {
                    break;
                }
            }
        }

        System.out.println("Not found in first 100000 rows");
    }
}